# 已知学生信息有，姓名、性别、年龄、成绩。
# 有一个班级的学生保存于列表如下
#
#
# class Student:
#     def __init__(self, name, sex, age, score):
#         ...
#
#
# class_1 = [
#     Student('小张', '男', 18, 76),
#     Student('小李', '女', 17, 80),
#     Student('小王', '女', 19, 20),
#     Student('小赵', '男', 16, 59),
# ]
# # 1. 筛选出所有的男生，放入另外一个列表 male_list
# # 2. 筛选出所有的女生，放入另外一个列表 female_list
# # 3. 筛选出所有的成绩及格的学生，放入另外一个列表 jige_list


# 已知学生信息有，姓名、性别、年龄、成绩。
# 有一个班级的学生保存于列表如下


class Student:
    def __init__(self, name, sex, age, score):
        self.name = name
        self.sex = sex
        self.age = age
        self.score = score
    def __repr__(self):  # def __str__(self):
        '用于转化为字面值表达式'
        return f"Stduent('{self.name}', '{self.sex}', {self.age}, {self.score})"
class_1 = [
    Student('小张', '男', 18, 76),
    Student('小李', '女', 17, 80),
    Student('小王', '女', 19, 20),
    Student('小赵', '男', 16, 59),
]
print(class_1)
# 1. 筛选出所有的男生，放入另外一个列表 male_list
male_list = list(filter(lambda s: s.sex=='男', class_1))
print('male_list:', male_list)
# 2. 筛选出所有的女生，放入另外一个列表 female_list
female_list = list(filter(lambda s: s.sex=='女', class_1))
print('female_list:', female_list)
# 3. 筛选出所有的成绩及格的学生，放入另外一个列表 jige_list
jige_list = list(filter(lambda s: s.score>=60, class_1))
print('jige_list:', jige_list)
